program tests

  const c1 = 10 -- und noch einer
  const c2 = 1.0 
  -- blub
  type tPtrInt = ->int
   tReal = real
  type tBool = bool
  type tString = string
  type tStringCopy = tString
  type arr = array [1:10,1:10] of int
  type comp = compound
    i,j:int
    iPtr:->int
  end
  
  var
    i,j,k,l:int
    arr1: arr
    arr2: array[1:2] of int
    comp1:comp
    a : tBool
    comp2: compound 
      i,k:int
    end
    intPtr:->int
    
  Test(in a:int in b:int):int
  begin
    -! "calc average"
    return a+b
  end Test
  
  Test2()
  begin
  end Test2
  
  
begin
  -! "sometext"
  intPtr:=New(in int)
  Test(in 1 in 2)
  if true then 
    i:=1 
  else 
    i:=-1 
  end 
  while i<5 do
    i:=i+1
  end
  for i:=1 to 10 do
  end
  i:=1
  repeat
    i:=i+1
    break
    halt
  until i>5
    
  Read()
end -- test
